home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
lamstex
/
inputs
/
amstexl.tex
< prev
next >
Wrap
Text File
|
1991-09-06
|
54KB
|
1,388 lines
% AMSTEXL.TEX VERSION 2.0
% Copyright (C) 1990, 1991 American Mathematical Society
% All rights reserved.
\catcode`\@=11
\ifx\amstexloaded@\relax\catcode`\@=\active
\endinput\else\let\amstexloaded@\relax\fi
\def\W@{\immediate\write\sixt@@n}
\def\CR@{\W@{}\W@{AmS-TeX - Version 2.0L\space\space[LamS-TeX subset]}\W@{}
\W@{COPYRIGHT 1985, 1990 - AMERICAN MATHEMATICAL SOCIETY}
\W@{Use of this macro package is not restricted provided}
\W@{each use is acknowledged upon publication.}\W@{}}
\CR@
\everyjob{\CR@}
\toksdef\toks@@=2
\long\def\rightappend@#1\to#2{\toks@{\\{#1}}\toks@@\expandafter{#2}%
\xdef#2{\the\toks@@\the\toks@}\toks@{}\toks@@{}}
\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
\ch@ck#1#4#2\allocationnumber=\count1#1
\global#3#5=\allocationnumber}
\newcount\count@@
\newcount\count@@@
\def\FN@{\futurelet\next}
\def\DN@{\def\next@}
\def\DNii@{\def\nextii@}
\def\RIfM@{\relax\ifmmode}
\def\RIfMIfI@{\relax\ifmmode\ifinner}
\def\setboxz@h{\setbox\z@\hbox}
\def\wdz@{\wd\z@}
\def\boxz@{\box\z@}
\def\height{height}
\def\width{width}
\def\depth{depth}
\def\iterate{\body\expandafter\iterate\else\fi}
\newlinechar=`\^^J
\newhelp\defaulthelp@{Sorry, I already gave what help I could...^^J
Maybe you should try asking a human?^^J
An error might have occurred before I noticed any problems.^^J
``If all else fails, read the instructions.''}
\def\eat@#1{}
\def\space@.{\futurelet\space@\relax}
\space@. %
\newhelp\athelp@
{Only certain combinations beginning with @ make sense to me.^^J
Perhaps you wanted \string\@ for a printed @?^^J
I've ignored the character or group after @.}
\def\atdef@#1{\expandafter\def\csname #1@at\endcsname}
\newhelp\defahelp@{If you typed \string\define\space cs instead of
\string\define\string\cs\space^^J
I've substituted an inaccessible control sequence so that your^^J
definition will be completed without mixing me up too badly.^^J
If you typed \string\define{\string\cs} the inaccessible control sequence^^J
was defined to be \string\cs, and the rest of your^^J
definition appears as input.}
\newhelp\defbhelp@{I've ignored your definition, because it might^^J
conflict with other uses that are important to me.}
\def\define{\FN@\define@}
\def\define@{\ifcat\noexpand\next\relax
\expandafter\define@@\else\errhelp\defahelp@
\err@{\noexpand\define must be followed by a control
sequence}\expandafter\def\expandafter\nextii@\fi}
\def\undefined@@@@@@@@@@{}
\def\preloaded@@@@@@@@@@{}
\def\next@@@@@@@@@@{}
\def\define@@#1{\ifx#1\relax\errhelp\defbhelp@
\err@{\noexpand#1is already defined}\DN@{\DNii@}\else
\expandafter\ifx\csname\expandafter\eat@\string
#1@@@@@@@@@@\endcsname\undefined@@@@@@@@@@\errhelp\defbhelp@
\err@{\noexpand#1can't be defined}\DN@{\DNii@}\else
\expandafter\ifx\csname\expandafter\eat@\string#1\endcsname\relax
\global\let#1\undefined\DN@{\def#1}\else\errhelp\defbhelp@
\err@{\noexpand#1is already defined}\DN@{\DNii@}\fi
\fi\fi\next@}
\let\redefine\def
\def\predefine#1#2{\let#1#2}
\def\undefine#1{\let#1\undefined}
\def\tie{\unskip\nobreak\ }
\let\graveaccent\`
\let\acuteaccent\'
\let\tildeaccent\~
\let\hataccent\^
\let\underscore\_
\let\B\=
\let\D\.
\let\ic@\/
\def\/{\unskip\ic@}
\def\textfonti{\the\textfont\@ne}
\def\t#1#2{{\edef\next@{\the\font}\textfonti\accent"7F \next@#1#2}}
\def~{\unskip\nobreak\ \ignorespaces}
\def\.{.\spacefactor\@m}
\atdef@;{\leavevmode\null;}
\atdef@:{\leavevmode\null:}
\atdef@?{\leavevmode\null?}
\def\@{\char64 }
\atdef@-{\leavevmode
\DN@{\ifx\next-\DN@-{\FN@\nextii@}\else
\DN@{\leavevmode\hbox{-}}\fi\next@}%
\DNii@{\ifx\next-\DN@-{\leavevmode\hbox{---}}\else
\DN@{\leavevmode\hbox{--}}\fi\next@}%
\FN@\next@}
\def\srdr@{\kern.16667em}
\def\drsr@{\kern.02778em}
\def\sldl@{\kern.02778em}
\def\dlsl@{\kern.16667em}
\def\textfontii{\the\textfont\tw@}
\def\lbrace@{\delimiter"4266308 }
\def\rbrace@{\delimiter"5267309 }
\def\{{\RIfM@\lbrace@\else{\textfontii f}\spacefactor\@m\fi}
\def\}{\RIfM@\rbrace@\else
\let\@sf\empty\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi
{\textfontii g}\@sf\relax\fi}
\let\lbrace\{
\let\rbrace\}
\def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox
{\textfontii M}\kern-.125em{\textfontii S}-\TeX}
\def\vmodeerr@#1{\Err@{\noexpand#1not allowed between paragraphs}}
\def\mathmodeerr@#1{\Err@{\noexpand#1not allowed in math mode}}
\def\slash{\unskip/\penalty\exhyphenpenalty}
\newskip\saveskip@
\def\dmatherr@#1{\Err@{\noexpand#1not allowed in display math mode}}
\def\nondmatherr@#1{\Err@{\noexpand#1not allowed in non-display math
mode}}
\def\onlydmatherr@#1{\Err@{\noexpand#1allowed only in display math mode}}
\def\nonmatherr@#1{\Err@{\noexpand#1allowed only in math mode}}
\def\mathbreak{\RIfMIfI@\break\else
\dmatherr@\mathbreak\fi\else\nonmatherr@\mathbreak\fi}
\def\nomathbreak{\RIfMIfI@\nobreak\else
\dmatherr@\nomathbreak\fi\else\nonmatherr@\nomathbreak\fi}
\def\allowmathbreak{\RIfMIfI@\allowbreak\else
\dmatherr@\allowmathbreak\fi\else\nonmatherr@\allowmathbreak\fi}
\def\pagebreak{\RIfM@
\ifinner\nondmatherr@\pagebreak\else\postdisplaypenalty-\@M\fi
\else\ifvmode\removelastskip\break\else\vadjust{\break}\fi\fi}
\def\nopagebreak{\RIfM@
\ifinner\nondmatherr@\nopagebreak\else\postdisplaypenalty\@M\fi
\else\ifvmode\nobreak\else\vadjust{\nobreak}\fi\fi}
\def\nonvmodeerr@#1{\Err@{\noexpand#1not allowed within a paragraph
or in math}}
\def\vnonvmode@#1#2{\DNii@{\ifx\next\par\DN@{#1}\else
\DN@{#2}\fi\next@}%
\ifvmode\DN@{#1}\else
\DN@{\FN@\nextii@}\fi\next@}
\def\newpage{\vnonvmode@{\vfill\break}{\nonvmodeerr@\newpage}}
\def\smallpagebreak{\vnonvmode@\smallbreak{\nonvmodeerr@\smallpagebreak}}
\def\medpagebreak{\vnonvmode@\medbreak{\nonvmodeerr@\medpagebreak}}
\def\bigpagebreak{\vnonvmode@\bigbreak{\nonvmodeerr@\bigpagebreak}}
\def\NoBlackBoxes{\global\overfullrule\z@}
\def\BlackBoxes{\global\overfullrule5\p@}
\def\Invalid@#1{\def#1{\Err@{\Invalid@@\string#1}}}
\def\Invalid@@{Invalid use of }
\def\newcodes@{\catcode`\\=12 \catcode`\{=12 \catcode`\}=12 \catcode`\#=12
\catcode`\%=12\relax}
\def\oldcodes@{\catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\#=6
\catcode`\%=14\relax}
\def\comment{\newcodes@\endlinechar=10 \comment@}
{\lccode`\0=`\\
\lowercase{\gdef\comment@#1^^J{\comment@@#10endcomment\comment@@@}%
\gdef\comment@@#10endcomment{\FN@\comment@@@}%
\gdef\comment@@@#1\comment@@@{\ifx\next\comment@@@\let\next@\comment@
\else\def\next@{\oldcodes@\endlinechar=`\^^M\relax}%
\fi\next@}}}
\def\pr@m@s{\ifx'\next\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@}
\def\prime{{\null\prime@\null}}
\mathchardef\prime@="0230
\let\dsize\displaystyle
\let\tsize\textstyle
\let\ssize\scriptstyle
\let\sssize\scriptscriptstyle
\def\,{\RIfM@\mskip\thinmuskip\relax\else\kern.16667em\fi}
\def\!{\RIfM@\mskip-\thinmuskip\relax\else\kern-.16667em\fi}
\let\thinspace\,
\let\negthinspace\!
\def\medspace{\RIfM@\mskip\medmuskip\relax\else\kern.222222em\fi}
\def\negmedspace{\RIfM@\mskip-\medmuskip\relax\else\kern-.222222em\fi}
\def\thickspace{\RIfM@\mskip\thickmuskip\relax\else\kern.27777em\fi}
\let\;\thickspace
\def\negthickspace{\RIfM@\mskip-\thickmuskip\relax\else
\kern-.27777em\fi}
\atdef@,{\RIfM@\mskip.1\thinmuskip\else\leavevmode\null,\fi}
\atdef@!{\RIfM@\mskip-.1\thinmuskip\else\leavevmode\null!\fi}
\atdef@.{\leavevmode.\spacefactor3000 }
\def\and{\DOTSB\;\mathchar"3026 \;}
\def\implies{\DOTSB\;\Longrightarrow\;}
\def\impliedby{\DOTSB\;\Longleftarrow\;}
\def\frac#1#2{{#1\over#2}}
\def\dfrac#1#2{{\displaystyle{#1\over#2}}}
\def\tfrac#1#2{{\textstyle{#1\over#2}}}
\newdimen\ex@
\ex@.2326ex
\Invalid@\thickness
\def\thickfrac{\DN@{\ifx\next\thickness\let\next@\nextii@\else
\DN@{\nextii@\thickness1}\fi\next@}%
\DNii@\thickness##1##2##3{{##2\above##1\ex@##3}}%
\FN@\next@}
\def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}}
\def\thickfracwithdelims#1#2{\def\ldelim@{#1}\def\rdelim@{#2}%
\DN@{\ifx\next\thickness\let\next@\nextii@\else
\DN@{\nextii@\thickness1}\fi\next@}%
\DNii@\thickness##1##2##3{{##2\abovewithdelims
\ldelim@\rdelim@##1\ex@##3}}%
\FN@\next@}
\def\binom#1#2{{#1\choose#2}}
\def\dbinom#1#2{{\displaystyle{#1\choose#2}}}
\def\tbinom#1#2{{\textstyle{#1\choose#2}}}
\def\:{\nobreak\hskip.1111em\mathpunct{}\nonscript\mkern-\thinmuskip{:}\hskip
.3333emplus.0555em\relax}
\def\snug{\unskip\kern-\mathsurround}
\def\topsmash{\top@true\bot@false\smash@}
\def\botsmash{\top@false\bot@true\smash@}
\newif\iftop@
\newif\ifbot@
\def\smash{\top@true\bot@true\smash@}
\def\smash@{\RIfM@\expandafter\mathpalette\expandafter\mathsm@sh\else
\expandafter\makesm@sh\fi}
\def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\leavevmode\boxz@}
\def\LimitsOnSums{\global\let\slimits@\displaylimits}
\def\NoLimitsOnSums{\global\let\slimits@\nolimits}
\LimitsOnSums
\mathchardef\coprod@="1360 \def\coprod{\DOTSB\coprod@\slimits@}
\mathchardef\bigvee@="1357 \def\bigvee{\DOTSB\bigvee@\slimits@}
\mathchardef\bigwedge@="1356 \def\bigwedge{\DOTSB\bigwedge@\slimits@}
\mathchardef\biguplus@="1355 \def\biguplus{\DOTSB\biguplus@\slimits@}
\mathchardef\bigcap@="1354 \def\bigcap{\DOTSB\bigcap@\slimits@}
\mathchardef\bigcup@="1353 \def\bigcup{\DOTSB\bigcup@\slimits@}
\mathchardef\prod@="1351 \def\prod{\DOTSB\prod@\slimits@}
\mathchardef\sum@="1350 \def\sum{\DOTSB\sum@\slimits@}
\mathchardef\bigotimes@="134E \def\bigotimes{\DOTSB\bigotimes@\slimits@}
\mathchardef\bigoplus@="134C \def\bigoplus{\DOTSB\bigoplus@\slimits@}
\mathchardef\bigodot@="134A \def\bigodot{\DOTSB\bigodot@\slimits@}
\mathchardef\bigsqcup@="1346 \def\bigsqcup{\DOTSB\bigsqcup@\slimits@}
\def\LimitsOnInts{\global\let\ilimits@\displaylimits}
\def\NoLimitsOnInts{\global\let\ilimits@\nolimits}
\NoLimitsOnInts
\def\int{\DOTSI\intop\ilimits@}
\def\oint{\DOTSI\ointop\ilimits@}
\def\intic@{\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}}
\def\negintic@{\mathchoice
{\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}}
\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
\def\intdots@{\mathchoice{\plaincdots@}
{{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
\newcount\intno@
\def\iint{\DOTSI\intno@\tw@\FN@\ints@}
\def\iiint{\DOTSI\intno@\thr@@\FN@\ints@}
\def\iiiint{\DOTSI\intno@4 \FN@\ints@}
\def\idotsint{\DOTSI\intno@\z@\FN@\ints@}
\def\ints@{\findlimits@\ints@@}
\newif\iflimtoken@
\newif\iflimits@
\def\findlimits@{\limtoken@true\ifx\next\limits\limits@true
\else\ifx\next\nolimits\limits@false\else
\limtoken@false\ifx\ilimits@\nolimits\limits@false\else
\ifinner\limits@false\else\limits@true\fi\fi\fi\fi}
\def\multint@{\int\ifnum\intno@=\z@\intdots@
\else\intkern@\fi
\ifnum\intno@>\tw@\int\intkern@\fi
\ifnum\intno@>\thr@@\int\intkern@\fi
\int}
\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@\else\intkern@\fi
\ifnum\intno@>\tw@\intop\intkern@\fi
\ifnum\intno@>\thr@@\intop\intkern@\fi\intop}
\def\ints@@{\iflimtoken@
\def\ints@@@{\iflimits@\negintic@\mathop{\intic@\multintlimits@}\limits
\else\multint@\nolimits\fi
\eat@}
\else
\def\ints@@@{\iflimits@\negintic@
\mathop{\intic@\multintlimits@}\limits\else
\multint@\nolimits\fi}\fi\ints@@@}
\def\LimitsOnNames{\global\let\nlimits@\displaylimits}
\def\NoLimitsOnNames{\global\let\nlimits@\nolimits@}
\LimitsOnNames
\def\nolimits@{\DN@{\ifx\next\limits\DN@\limits{\nolimits}\else
\let\next@\nolimits\fi\next@}%
\FN@\next@}
\def\newmcodes@{\mathcode`\'="0027 \mathcode`\*="002A \mathcode`\.="613A
\mathcode`\-="002D \mathcode`\/="002F \mathcode`\:="603A }
\def\operatorname#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nolimits@}
\def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nlimits@}
\def\qopname@#1{\mathop{\fam\z@#1}\nolimits@}
\def\qopnamewl@#1{\mathop{\fam\z@#1}\nlimits@}
\def\arccos{\qopname@{arccos}}
\def\arcsin{\qopname@{arcsin}}
\def\arctan{\qopname@{arctan}}
\def\arg{\qopname@{arg}}
\def\cos{\qopname@{cos}}
\def\cosh{\qopname@{cosh}}
\def\cot{\qopname@{cot}}
\def\coth{\qopname@{coth}}
\def\csc{\qopname@{csc}}
\def\deg{\qopname@{deg}}
\def\det{\qopnamewl@{det}}
\def\dim{\qopname@{dim}}
\def\exp{\qopname@{exp}}
\def\gcd{\qopnamewl@{gcd}}
\def\hom{\qopname@{hom}}
\def\inf{\qopnamewl@{inf}}
\def\injlim{\qopnamewl@{inj\,lim}}
\def\ker{\qopname@{ker}}
\def\lg{\qopname@{lg}}
\def\lim{\qopnamewl@{lim}}
\def\liminf{\qopnamewl@{lim\,inf}}
\def\limsup{\qopnamewl@{lim\,sup}}
\def\ln{\qopname@{ln}}
\def\log{\qopname@{log}}
\def\max{\qopnamewl@{max}}
\def\min{\qopnamewl@{min}}
\def\Pr{\qopnamewl@{Pr}}
\def\projlim{\qopnamewl@{proj\,lim}}
\def\sec{\qopname@{sec}}
\def\sin{\qopname@{sin}}
\def\sinh{\qopname@{sinh}}
\def\sup{\qopnamewl@{sup}}
\def\tan{\qopname@{tan}}
\def\tanh{\qopname@{tanh}}
\def\varinjlim{\mathop{\vtop{\ialign{##\crcr
\hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\rightarrowfill\crcr
\noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\varprojlim{\mathop{\vtop{\ialign{##\crcr
\hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\leftarrowfill\crcr
\noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\varliminf{\mathop{\underline{\vrule\height\z@\depth.2ex\width\z@
\hbox{\rm lim}}}}
\def\varlimsup{\mathop{\overline{\hbox{\rm lim}}}}
\newdimen\buffer@
\buffer@\fontdimen13 \tenex
\newdimen\buffer
\buffer\buffer@
\def\ChangeBuffer#1{\fontdimen13 \tenex#1\relax
\global\buffer\fontdimen13 \tenex}
\def\ResetBuffer{\fontdimen13 \tenex\buffer@\global\buffer\buffer@}
\def\shave#1{\mathop{\hbox{$\m@th\fontdimen13 \tenex\z@
\displaystyle{#1}$}}\fontdimen13 \tenex\buffer}
\def\topshave#1{\mathop{\topsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
\def\botshave#1{\mathop{\botsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
\Invalid@\\
\def\Let@{\relax\iffalse{\fi\let\\\cr\iffalse}\fi}
\Invalid@\vspace
\def\vspace@{\def\vspace##1{\crcr\noalign{\vskip##1\relax}}}
\def\multilimits@{\bgroup\vspace@\Let@
\baselineskip\fontdimen10 \scriptfont\tw@
\advance\baselineskip\fontdimen12 \scriptfont\tw@
\lineskip\thr@@\fontdimen8 \scriptfont\thr@@
\lineskiplimit\lineskip
\vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}
\def\Sb{_\multilimits@}
\def\endSb{\crcr\egroup\egroup\egroup}
\def\Sp{^\multilimits@}
\let\endSp\endSb
\def\spreadlines#1{\RIfMIfI@\onlydmatherr@\spreadlines\else
\openup#1\relax\fi\else\onlydmatherr@\spreadlines\fi}
\def\Mathstrut@{\copy\Mathstrutbox@}
\newbox\Mathstrutbox@
\setbox\Mathstrutbox@\null
\setbox\z@\hbox{$\m@th($}
\ht\Mathstrutbox@\ht\z@
\dp\Mathstrutbox@\dp\z@
\newdimen\spreadmlines@
\def\spreadmatrixlines#1{\RIfMIfI@
\onlydmatherr@\spreadmatrixlines\else
\spreadmlines@#1\relax\fi\else\onlydmatherr@\spreadmatrixlines\fi}
\def\matrix{\null\,\vcenter\bgroup\Let@\vspace@
\normalbaselines\openup\spreadmlines@\ialign
\bgroup\hfil$\m@th##$\hfil&&\quad\hfil$\m@th##$\hfil\crcr
\Mathstrut@\crcr\noalign{\kern-\baselineskip}}
\def\endmatrix{\crcr\Mathstrut@\crcr\noalign{\kern-\baselineskip}\egroup
\egroup\,}
\def\format{\crcr\egroup\iffalse{\fi\ifnum`}=0 \fi\format@}
\newtoks\hashtoks@
\hashtoks@{#}
\def\format@#1\\{\def\preamble@{#1}%
\def\l{$\m@th\the\hashtoks@$\hfil}%
\def\c{\hfil$\m@th\the\hashtoks@$\hfil}%
\def\r{\hfil$\m@th\the\hashtoks@$}%
\edef\Preamble@{\preamble@}\ifnum`{=0 \fi\iffalse}\fi
\ialign\bgroup\span\Preamble@\crcr}
\def\smallmatrix{\null\,\vcenter\bgroup\vspace@\Let@
\baselineskip9\ex@\lineskip\ex@
\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil
$\m@th\scriptstyle{##}$\hfil\crcr}
\def\endsmallmatrix{\crcr\egroup\egroup\,}
\def\pmatrix{\left(\matrix}
\def\endpmatrix{\endmatrix\right)}
\def\bmatrix{\left[\matrix}
\def\endbmatrix{\endmatrix\right]}
\def\vmatrix{\left|\matrix}
\def\endvmatrix{\endmatrix\right|}
\def\Vmatrix{\left\|\matrix}
\def\endVmatrix{\endmatrix\right\|}
\def\hdots{\mathinner{\ldotp\ldotp\ldotp}}
\newmuskip\dotsspace@
\dotsspace@1.5mu
\def\strip@#1 {#1}
\def\spacehdots#1\for#2{\multispan{#2}\xleaders
\hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
\def\hdotsfor#1{\spacehdots\@ne\for{#1}}
\def\multispan@#1{\omit\mscount#1\unskip\loop\ifnum\mscount>\@ne\sp@n\repeat}
\def\spaceinnerhdots#1\for#2\after#3{\multispan@{\strip@#2 }#3\xleaders
\hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
\def\innerhdotsfor#1\after#2{\spaceinnerhdots\@ne\for#1\after{#2}}
\def\cases{\bgroup\spreadmlines@\jot\left\{\,\matrix\format\l&\quad\l\\}
\def\endcases{\endmatrix\right.\egroup}
\newif\ifinany@
\newif\ifinalign@
\newif\ifingather@
\def\strut@{\copy\strutbox@}
\newbox\strutbox@
\setbox\strutbox@\hbox{\vrule\height8\p@\depth3\p@\width\z@}
\def\topaligned{\null\,\vtop\aligned@}
\def\botaligned{\null\,\vbox\aligned@}
\def\aligned{\null\,\vcenter\aligned@}
\def\aligned@{\bgroup\vspace@\Let@
\ifinany@\else\openup\jot\fi\ialign
\bgroup\hfil\strut@$\m@th\displaystyle{##}$&
$\m@th\displaystyle{{}##}$\hfil\crcr}
\def\endaligned{\crcr\egroup\egroup}
\let\endtopaligned\endaligned
\let\endbotaligned\endaligned
\def\alignedat#1{\null\,\vcenter\bgroup\doat@{#1}\vspace@\Let@
\ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr}
\newcount\atcount@
\def\doat@#1{\toks@{\hfil\strut@$\m@th
\displaystyle{\the\hashtoks@}$&$\m@th\displaystyle
{{}\the\hashtoks@}$\hfil}%
\atcount@#1\relax\advance\atcount@\m@ne
\loop\ifnum\atcount@>\z@\toks@=\expandafter{\the\toks@&\hfil$\m@th
\displaystyle{\the\hashtoks@}$&$\m@th
\displaystyle{{}\the\hashtoks@}$\hfil}\advance\atcount@\m@ne\repeat
\edef\preamble@{\the\toks@}\edef\preamble@@{\preamble@}}
\let\endalignedat\endaligned
\def\gathered{\null\,\vcenter\bgroup\vspace@\Let@
\ifinany@\else\openup\jot\fi\ialign
\bgroup\hfil\strut@$\m@th\displaystyle{##}$\hfil\crcr}
\def\endgathered{\crcr\egroup\egroup}
\newif\iftagsleft@
\def\TagsOnLeft{\global\tagsleft@true}
\def\TagsOnRight{\global\tagsleft@false}
\TagsOnLeft
\newif\ifmathtags@
\def\TagsAsMath{\global\mathtags@true}
\def\TagsAsText{\global\mathtags@false}
\TagsAsText
\def\tag#1$${\iftagsleft@\leqno\else\eqno\fi\maketag@#1\maketag@$$}
\interdisplaylinepenalty\@M
\def\allowdisplaybreaks{\RIfMIfI@
\onlydmatherr@\allowdisplaybreaks\else
\interdisplaylinepenalty\z@\fi\else\onlydmatherr@\allowdisplaybreaks\fi}
\Invalid@\allowdisplaybreak
\Invalid@\displaybreak
\Invalid@\intertext
\def\allowdisplaybreak@{\def\allowdisplaybreak{\crcr\noalign{\allowbreak}}}
\def\displaybreak@{\def\displaybreak{\crcr\noalign{\break}}}
\def\intertext@{\def\intertext##1{\crcr\noalign{\vskip\belowdisplayskip
\vbox{\normalbaselines\noindent##1}\vskip\abovedisplayskip}}}
\newskip\centering@
\centering@\z@ plus\@m\p@
\def\align{\relax\ifingather@\DN@{\csname align (in
\expandafter\eat@\string\\gather)\endcsname}\else
\ifmmode\ifinner\DN@{\onlydmatherr@\align}\else
\let\next@\align@\fi
\else\DN@{\onlydmatherr@\align}\fi\fi\next@}
\newhelp\andhelp@
{An extra & here is so disastrous that you should probably exit^^J
and fix things up.}
\newif\iftag@
\newcount\and@
\def\Tag@{\iftag@\else\errhelp\andhelp@\err@{Extra & on this line}\fi}
\newdimen\lwidth@
\newdimen\rwidth@
\newdimen\maxlwidth@
\newdimen\maxrwidth@
\newdimen\totwidth@
\def\displ@y@{\global\dt@ptrue\openup\jot
\everycr{\noalign{\global\tag@false\global\and@\z@\ifdt@p\global\dt@pfalse
\vskip-\lineskiplimit\vskip\normallineskiplimit\else
\penalty\interdisplaylinepenalty\fi}}}
\def\black@#1{\noalign{\ifdim#1>\displaywidth
\dimen@\prevdepth\nointerlineskip
\vskip-\ht\strutbox@\vskip-\dp\strutbox@
\vbox{\noindent\hbox to#1{\strut@\hfill}}%
\prevdepth\dimen@
\fi}}
\newdimen\lineht@
\expandafter\def\csname align (in \expandafter\eat@\string\\gather)\endcsname
#1\endalign{\vcenter{\align@#1\endalign}}
\Invalid@\endalign
\newif\ifxat@
\def\alignat{\RIfMIfI@\DN@{\onlydmatherr@\alignat}\else
\DN@{\csname alignat \endcsname}\fi\else
\DN@{\onlydmatherr@\alignat}\fi\next@}
\newif\ifmeasuring@
\newbox\savealignat@
\Invalid@\endalignat
\def\xalignat{\RIfMIfI@
\DN@{\onlydmatherr@\xalignat}\else
\DN@{\csname xalignat \endcsname}\fi\else
\DN@{\onlydmatherr@\xalignat}\fi\next@}
\Invalid@\endxalignat
\def\xxalignat{\RIfMIfI@
\DN@{\onlydmatherr@\xxalignat}\else\DN@{\csname xxalignat
\endcsname}\fi\else
\DN@{\onlydmatherr@\xxalignat}\fi\next@}
\expandafter\def\csname xxalignat \endcsname#1#2\endxxalignat{\inany@true
\vspace@\allowdisplaybreak@\displaybreak@\intertext@
\displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
\xxattag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
\Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth
{\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@
$\m@th\displaystyle{\the\hashtoks@}$&%
$\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\centering@&}%
\atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@
\toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$%
\tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil
\tabskip\centering@}\advance\atcount@\m@ne\repeat
\edef\preamble@{\the\toks@\tabskip\z@skip}\edef\preamble@@{\preamble@}}
\Invalid@\endxxalignat
\newdimen\gwidth@
\newdimen\gmaxwidth@
\def\gmeasure@#1\endgather{\global\gwidth@\z@\global\gmaxwidth@\z@
\setbox\z@\vbox{\Let@
\halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@
\ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi
&\eat@{##}\crcr#1\crcr}}}
\expandafter\def\csname gather \space\endcsname#1\endgather
{\gmeasure@#1\endgather\tabskip\centering@
\halign to\displaywidth{\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
\global\gwidth@\wdz@\boxz@\hfil&
\setboxz@h{\strut@{\maketag@##\maketag@}}%
\dimen@\displaywidth\advance\dimen@-\gwidth@
\ifdim\dimen@>\tw@\wdz@\llap{\boxz@}\else
\llap{\vtop{\normalbaselines\null\boxz@}}\fi
\tabskip\z@skip\crcr#1\crcr\black@\gmaxwidth@}}
\newdimen\glineht@
\expandafter\def\csname gather \endcsname#1\endgather{\gmeasure@#1\endgather
\ifdim\gmaxwidth@>\displaywidth\let\gdisplaywidth@\gmaxwidth@\else
\let\gdisplaywidth@\displaywidth\fi\tabskip\centering@\halign to\displaywidth
{\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
\global\gwidth@\wdz@\global\glineht@\ht\z@\boxz@\hfil&\kern-\gdisplaywidth@
\setboxz@h{\strut@{\maketag@##\maketag@}}%
\dimen@\displaywidth\advance\dimen@-\gwidth@
\ifdim\dimen@>\tw@\wdz@\rlap{\boxz@}\else
\rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}\fi
\tabskip\gdisplaywidth@\crcr#1\crcr\black@\gmaxwidth@}}
\newif\ifctagsplit@
\def\CenteredTagsOnSplits{\global\ctagsplit@true}
\def\TopOrBottomTagsOnSplits{\global\ctagsplit@false}
\TopOrBottomTagsOnSplits
\def\split{\relax\ifinany@\let\next@\insplit@\else
\ifmmode\ifinner\def\next@{\onlydmatherr@\split}\else
\let\next@\outsplit@\fi\else
\def\next@{\onlydmatherr@\split}\fi\fi\next@}
\def\insplit@{\global\setbox9=\vbox\bgroup\vspace@\Let@\ialign\bgroup
\hfil\strut@$\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr}
\def\endsplit{\crcr\egroup\egroup\iftagsleft@\expandafter\lendsplit@\else
\expandafter\rendsplit@\fi}
\def\rendsplit@{\global\setbox\@ne\vbox
{\unvcopy9 \global\setbox\thr@@\lastbox\unskip}%
\setboxz@h{\unhcopy\thr@@\unskip\global\setbox\thr@@\lastbox
\unskip\global\setbox5=\lastbox}%
\global\setbox7=\hbox{\unhbox\thr@@\unskip}%
\ifinalign@\ifctagsplit@
\gdef\split@{\hbox to\wd5 {}&
\vcenter{\vbox{\moveleft\wd5 \box9}}}%
\else\gdef\split@{&\vbox{\moveleft\wd5 \box\@ne}\crcr
\box5 &\box7}\fi
\else
\ifctagsplit@\gdef\split@{\vcenter{\box9}}\else
\gdef\split@{\box\@ne\crcr\hbox{\box\thr@@\box7}}\fi
\fi
\split@}
\def\lendsplit@{\global\setbox\@ne\vtop{\unvcopy9}%
\setbox\z@\vbox{\unvcopy9 \global\setbox\thr@@\lastbox}%
\setboxz@h{\unhcopy\thr@@\unskip\setbox\z@\lastbox
\unskip\global\setbox\thr@@\lastbox}%
\ifinalign@\ifctagsplit@
\gdef\split@{\hbox to\wd\thr@@{}&
\vcenter{\vbox{\moveleft\wd\thr@@\box\@ne}}}%
\else
\gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box\@ne}}\fi
\else
\ifctagsplit@\gdef\split@{\vcenter{\box\@ne}}\else
\gdef\split@{\box\@ne}\fi
\fi\split@}
\def\outsplit@#1$${\align\insplit@#1\endalign$$}
\newdimen\multlinegap@
\multlinegap@1em
\newdimen\multlinetaggap@
\multlinetaggap@1em
\def\MultlineGap#1{\global\multlinegap@#1\relax}
\def\multlinegap#1{\RIfMIfI@\onlydmatherr@\multlinegap\else
\multlinegap@#1\relax\fi\else\onlydmatherr@\multlinegap\fi}
\def\nomultlinegap{\multlinegap{\z@}}
\def\multline{\RIfMIfI@
\DN@{\onlydmatherr@\multline}\else
\DN@{\multline@}\fi\else
\DN@{\onlydmatherr@\multline}\fi\next@}
\newif\iftagin@
\def\multline@#1$${\inany@true\vspace@\allowdisplaybreak@\displaybreak@
\tagin@{#1}\iftagsleft@\DN@{\multline@l#1$$}\else
\DN@{\multline@r#1$$}\fi\next@}
\newdimen\mwidth@
\def\rmmeasure@#1\endmultline{%
\def\shoveleft##1{##1}\def\shoveright##1{##1}%
\setbox\z@\vbox{\Let@\halign{\setboxz@h
{$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@
\crcr#1\crcr}}}
\newdimen\mlineht@
\newif\ifzerocr@
\newif\ifonecr@
\def\lmmeasure@#1\endmultline{\global\zerocr@true\global\onecr@false
\everycr{\noalign{\ifonecr@\global\onecr@false\fi
\ifzerocr@\global\zerocr@false\global\onecr@true\fi}}%
\def\shoveleft##1{##1}\def\shoveright##1{##1}%
\setbox\z@\vbox{\Let@\halign{\setboxz@h
{$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@
\global\mlineht@\ht\z@\fi\crcr#1\crcr}}}
\newbox\mtagbox@
\newdimen\ltwidth@
\newdimen\rtwidth@
\def\multline@l#1$${\iftagin@\DN@{\lmultline@@#1$$}\else
\DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
\lmultline@@@#1$$}\fi\next@}
\def\lmultline@@#1\endmultline\tag#2$${%
\setbox\mtagbox@\hbox{\maketag@#2\maketag@}%
\lmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
\advance\dimen@\multlinetaggap@
\ifdim\dimen@>\displaywidth\ltwidth@\z@\else\ltwidth@\wd\mtagbox@\fi
\lmultline@@@#1\endmultline$$}
\def\lmultline@@@{\displ@y
\def\shoveright##1{##1\hfilneg\hskip\multlinegap@}%
\def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
\setbox\tw@\hbox{$\m@th\displaystyle##1$}%
\hfilneg
\iftagin@
\ifdim\ltwidth@>\z@\hskip\ltwidth@\hskip\multlinetaggap@\fi
\else\hskip\multlinegap@\fi\hskip.5\wd\tw@\hskip-.5\wdz@##1}%
\halign\bgroup\Let@\hbox to\displaywidth
{\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
\hfilneg
\iftagin@
\ifdim\ltwidth@>\z@
\box\mtagbox@\hskip\multlinetaggap@
\else
\rlap{\vbox{\normalbaselines\hbox{\strut@\box\mtagbox@}%
\vbox to\mlineht@{}}}\fi
\else\hskip\multlinegap@\fi}
\def\multline@r#1$${\iftagin@\DN@{\rmultline@@#1$$}\else
\DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
\rmultline@@@#1$$}\fi\next@}
\def\rmultline@@#1\endmultline\tag#2$${\ltwidth@\z@
\setbox\mtagbox@\hbox{\maketag@#2\maketag@}%
\rmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
\advance\dimen@\multlinetaggap@
\ifdim\dimen@>\displaywidth\rtwidth@\z@\else\rtwidth@\wd\mtagbox@\fi
\rmultline@@@#1\endmultline$$}
\def\rmultline@@@{\displ@y
\def\shoveright##1{##1\hfilneg\iftagin@\ifdim\rtwidth@>\z@
\hskip\rtwidth@\hskip\multlinetaggap@\fi\else\hskip\multlinegap@\fi}%
\def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
\setbox\tw@\hbox{$\m@th\displaystyle##1$}%
\hfilneg\hskip\multlinegap@\hskip.5\wd\tw@\hskip-.5\wdz@##1}%
\halign\bgroup\Let@\hbox to\displaywidth
{\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
\hfilneg\hskip\multlinegap@}
\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else
\expandafter\rendmultline@\fi}
\def\lendmultline@{\hfilneg\hskip\multlinegap@\crcr\egroup}
\def\rendmultline@{\iftagin@
\ifdim\rtwidth@>\z@
\hskip\multlinetaggap@\box\mtagbox@
\else\llap{\vtop{\normalbaselines\null\hbox{\strut@\box\mtagbox@}}}\fi
\else\hskip\multlinegap@\fi
\hfilneg\crcr\egroup}
\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin{\fam\z@ mod}\penalty900
\mkern5mu\mskip-\medmuskip}
\def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi
({\fam\z@ mod}\,\,#1)}
\def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)}
\def\mod#1{\allowbreak\ifinner\mkern12mu\else\mkern18mu\fi{\fam\z@ mod}\,\,#1}
\newcount\cfraccount@
\def\cfrac{\bgroup\bgroup\global\advance\cfraccount@\@ne\strut
\iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
\def\lcfrac{\bgroup\bgroup\global\advance\cfraccount@\@ne\strut
\iffalse{\fi\def\\{\hfill\over\displaystyle}\iffalse}\fi}
\def\rcfrac{\bgroup\bgroup\global\advance\cfraccount@\@ne\strut\hfill
\iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
\def\endcfrac{\gloop@\ifnum\cfraccount@>\z@\global\advance\cfraccount@\m@ne
\egroup\hskip-\nulldelimiterspace\egroup\repeat}
\def\binrel@#1{\setboxz@h{\thinmuskip0mu
\medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}%
\setbox\tw@\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip
\@ne mu${}#1{}\m@th$}%
\setbox\tw@\hbox{\hskip\wd\tw@\hskip-\wdz@}}
\def\overset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
\mathbin{\mathop{\kern\z@#2}\limits^{#1}}\else\ifdim\wd\tw@>\z@
\mathrel{\mathop{\kern\z@#2}\limits^{#1}}\else
{\mathop{\kern\z@#2}\limits^{#1}}{}\fi\fi}
\def\underset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
\mathbin{\mathop{\kern\z@#2}\limits_{#1}}\else\ifdim\wd\tw@>\z@
\mathrel{\mathop{\kern\z@#2}\limits_{#1}}\else
{\mathop{\kern\z@#2}\limits_{#1}}{}\fi\fi}
\def\oversetbrace#1\to#2{\overbrace{#2}^{#1}}
\def\undersetbrace#1\to#2{\underbrace{#2}_{#1}}
\def\sideset#1\and#2\to#3{%
\setboxz@h{$\dsize{\vphantom{#3}}#1{#3}\m@th$}%
\setbox\tw@\hbox{$\dsize{#3}#2\m@th$}%
\hskip\wdz@\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wdz@
{\vphantom{#3}}#1{#3}#2}}
\def\rightarrowfill@#1{$#1\m@th\mathord-\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}
\def\leftarrowfill@#1{$#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill\mkern-6mu\mathord-$}
\def\leftrightarrowfill@#1{$#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}
\def\overrightarrow{\mathpalette\overrightarrow@}
\def\overrightarrow@#1#2{\vbox{\ialign{##\crcr\rightarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\let\overarrow\overrightarrow
\def\overleftarrow{\mathpalette\overleftarrow@}
\def\overleftarrow@#1#2{\vbox{\ialign{##\crcr\leftarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\def\overleftrightarrow{\mathpalette\overleftrightarrow@}
\def\overleftrightarrow@#1#2{\vbox{\ialign{##\crcr\leftrightarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\def\underrightarrow{\mathpalette\underrightarrow@}
\def\underrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
\noalign{\nointerlineskip}\rightarrowfill@#1\crcr}}}
\let\underarrow\underrightarrow
\def\underleftarrow{\mathpalette\underleftarrow@}
\def\underleftarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
\noalign{\nointerlineskip}\leftarrowfill@#1\crcr}}}
\def\underleftrightarrow{\mathpalette\underleftrightarrow@}
\def\underleftrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
\noalign{\nointerlineskip}\leftrightarrowfill@#1\crcr}}}
\let\DOTSI\relax
\let\DOTSB\relax
\let\DOTSX\relax
\newif\ifmath@
{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
\uppercase{\gdef\math@#1#2#3#4#5#6\math@{\global\math@false\ifx 7#1\ifx 8#2%
\ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\global\math@true\fi\fi\fi\fi\fi}}}
\newif\ifmathch@
{\uccode`7=`c \uccode`8=`h \uccode`9=`\"
\uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\global\mathch@false
\ifx 7#1\ifx 8#2\ifx 9#5\global\mathch@true\xdef\meaning@{9#6}\fi\fi\fi}}}
\newcount\classnum@
\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
\ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
\gdef\thedots@{\dotsb@}\fi}
\newif\ifmathbin@
{\uccode`4=`b \uccode`5=`i \uccode`6=`n
\uppercase{\gdef\mathbin@#1#2#3{%
\DNii@##1\mathbin@{\ifx\space@\next\global\mathbin@true\fi}%
\global\mathbin@false\DN@##1\mathbin@{}%
\ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
\newif\ifmathrel@
{\uccode`4=`r \uccode`5=`e \uccode`6=`l
\uppercase{\gdef\mathrel@#1#2#3{%
\DNii@##1\mathrel@{\ifx\space@\next\global\mathrel@true\fi}%
\global\mathrel@false\DN@##1\mathrel@{}%
\ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
\newif\ifmacro@
{\uccode`5=`m \uccode`6=`a \uccode`7=`c
\uppercase{\gdef\macro@#1#2#3#4\macro@{\global\macro@false
\ifx 5#1\ifx 6#2\ifx 7#3\global\macro@true
\xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
\def\macro@@#1->#2\macro@@{#2}
\newif\ifDOTS@
\newcount\DOTSCASE@
{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
\uppercase{\gdef\DOTS@#1#2#3#4#5{\global\DOTS@false\DN@##1\DOTS@{}%
\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@\fi\fi\fi\fi\fi
\next@}}}
{\uccode`3=`B \uccode`4=`I \uccode`5=`X
\uppercase{\gdef\DOTS@@#1{%
\DNii@##1\DOTS@{\ifx\space@\next\global\DOTS@true\fi}%
\DN@{\FN@\nextii@}%
\ifx 3#1\global\DOTSCASE@\z@\else
\ifx 4#1\global\DOTSCASE@\@ne\else
\ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
\fi\fi\fi\next@}}}
\newif\ifnot@
{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
\uppercase{\gdef\not@#1#2#3#4{%
\DNii@##1\not@{\ifx\space@\next\global\not@true\fi}%
\global\not@false\DN@##1\not@{}%
\ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
\fi\next@}}}
\newif\ifkeybin@
\def\dots{\RIfM@\expandafter\mdots@\else\expandafter\tdots@\fi}
\def\mdots@{\FN@\mdots@@}
\def\mdots@@{\gdef\thedots@{\dotso@}%
\ifx\next\boldkey\gdef\thedots@\boldkey{\boldkeydots@}\else
\ifx\next\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}\else
\ifx,\next\gdef\thedots@{\dotsc}%
\else\ifx\not\next\gdef\thedots@{\dotsb@}%
\else\keybin@
\ifkeybin@\gdef\thedots@{\dotsb@}%
\else\xdef\meaning@{\meaning\next..........}\xdef\meaning@@{\meaning@}%
\expandafter\math@\meaning@\math@
\ifmath@
\expandafter\mathch@\meaning@\mathch@
\ifmathch@\expandafter\getmathch@\meaning@\getmathch@\fi
\else\expandafter\macro@\meaning@@\macro@
\ifmacro@
\expandafter\not@\meaning@\not@\ifnot@\gdef\thedots@{\dotsb@}%
\else\expandafter\DOTS@\meaning@\DOTS@
\ifDOTS@
\ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}%
\or\gdef\thedots@{\dotsi}\else\fi
\else\expandafter\math@\meaning@\math@
\ifmath@\expandafter\mathbin@\meaning@\mathbin@
\ifmathbin@\gdef\thedots@{\dotsb@}%
\else\expandafter\mathrel@\meaning@\mathrel@
\ifmathrel@\gdef\thedots@{\dotsb@}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\thedots@}
\def\plainldots@{\mathinner{\ldotp\ldotp\ldotp}}
\def\plaincdots@{\mathinner{\cdotp\cdotp\cdotp}}
\def\dotsi{\!\plaincdots@}
\let\dotsb@\plaincdots@
\newif\ifextra@
\newif\ifrightdelim@
\def\rightdelim@{\global\rightdelim@true
\ifx\next)\else
\ifx\next]\else
\ifx\next\rbrack\else
\ifx\next\}\else
\ifx\next\rbrace\else
\ifx\next\rangle\else
\ifx\next\rceil\else
\ifx\next\rfloor\else
\ifx\next\rgroup\else
\ifx\next\rmoustache\else
\ifx\next\right\else
\ifx\next\bigr\else
\ifx\next\biggr\else
\ifx\next\Bigr\else
\ifx\next\Biggr\else\global\rightdelim@false
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\extra@{%
\global\extra@false\rightdelim@\ifrightdelim@\global\extra@true
\else\ifx\next$\global\extra@true
\else\xdef\meaning@{\meaning\next..........}%
\expandafter\macro@\meaning@\macro@\ifmacro@
\expandafter\DOTS@\meaning@\DOTS@
\ifDOTS@
\ifnum\DOTSCASE@=\tw@\global\extra@true
\fi\fi\fi\fi\fi}
\newif\ifbold@
\def\dotso@{%
\ifbold@
\let\next\delayed@
\DNii@{\extra@\plainldots@\ifextra@\,\fi}%
\else
\DNii@{\DN@{\extra@\plainldots@\ifextra@\,\fi}\FN@\next@}%
\fi
\nextii@}
\def\ldots{\DN@{\extrap@\plainldots@}%
\FN@\next@}
\def\cdots{\DN@{\extrap@\plaincdots@}%
\FN@\next@}
\let\dotso\ldots
\let\dotsb\cdots
\let\dotsm\dotsb
\def\cdot{\mathchar"2201 }
\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow}
\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow}
\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar}
\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar}
\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow}
\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow}
\def\mapsto{\DOTSB\mapstochar\rightarrow}
\def\longmapsto{\DOTSB\mapstochar\longrightarrow}
\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow}
\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook}
\def\doteq{\DOTSB\buildrel\textstyle.\over=}
\def\iff{\DOTSB\;\Longleftrightarrow\;}
\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
\hbox{\rm...}\vss}}}}
\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
\hbox{\rm....}\vss}}}}
\def\sphat{^{\mathchoice{}{}%
{\,\,\botsmash{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}%
{\,\botsmash{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}}
\def\spcheck{^\vee}
\def\sptilde{^\sim}
\def\spacute{^{\!\botsmash{\hbox{\lower\@ne ex\hbox{\'{}}}}}}
\def\spgrave{^{\mathchoice{}{}{}{\!}%
\botsmash{\hbox{\lower\@ne ex\hbox{\`{}}}}}}
\def\spdot{^{\hbox{\raise\ex@\hbox{\rm.}}}}
\def\spddot{^{\hbox{\raise\ex@\hbox{\rm..}}}}
\def\spdddot{^{\hbox{\raise\ex@\hbox{\rm...}}}}
\def\spddddot{^{\hbox{\raise\ex@\hbox{\rm....}}}}
\def\spbreve{^{\!\botsmash{\hbox{\lower4\ex@\hbox{\u{}}}}}}
\def\spbar{^-}
\def\spvec{^\rightarrow}
\def\textonlyfont@#1#2{\def#1{\RIfM@
\Err@{Use \noexpand#1only in text}\else#2\fi}}
\textonlyfont@\rm\tenrm
\textonlyfont@\it\tenit
\textonlyfont@\sl\tensl
\textonlyfont@\bf\tenbf
\def\oldnos#1{\RIfM@{\mathcode`\,="013B \fam\@ne#1}\else
\leavevmode\hbox{$\m@th\mathcode`\,="013B \fam\@ne#1$}\fi}
\def\text{\RIfM@\expandafter\text@\else\expandafter\text@@\fi}
\def\text@@#1{\leavevmode\hbox{#1}}
\def\mathhexbox@#1#2#3{\text{$\m@th\mathchar"#1#2#3$}}
\def\dag{{\mathhexbox@279}}
\def\ddag{{\mathhexbox@27A}}
\def\S{{\mathhexbox@278}}
\def\P{{\mathhexbox@27B}}
\newif\iffirstchoice@
\firstchoice@true
\def\text@#1{\mathchoice
{\hbox{\everymath{\displaystyle}\def\textfonti{\the\textfont\@ne}%
\def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
{\hbox{\firstchoice@false
\everymath{\textstyle}\def\textfonti{\the\textfont\@ne}%
\def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
{\hbox{\firstchoice@false
\everymath{\scriptstyle}\def\textfonti{\the\scriptfont\@ne}%
\def\textfontii{\the\scriptfont\tw@}\textdef@@ S\rm#1}}
{\hbox{\firstchoice@false
\everymath{\scriptscriptstyle}\def\textfonti
{\the\scriptscriptfont\@ne}%
\def\textfontii{\the\scriptscriptfont\tw@}\textdef@@ s\rm#1}}}
\def\textdef@@#1{\textdef@#1\rm\textdef@#1\bf\textdef@#1\sl\textdef@#1\it}
\def\rmfam{0}
\def\textdef@#1#2{%
\DN@{\csname\expandafter\eat@\string#2fam\endcsname}%
\if S#1\edef#2{\the\scriptfont\next@\relax}%
\else\if s#1\edef#2{\the\scriptscriptfont\next@\relax}%
\else\edef#2{\the\textfont\next@\relax}\fi\fi}
\scriptfont\itfam\tenit \scriptscriptfont\itfam\tenit
\scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
\newif\iftopfolded@
\newif\ifbotfolded@
\def\topfoldedtext{\topfolded@true\botfolded@false\foldedtext@}
\def\botfoldedtext{\botfolded@true\topfolded@false\foldedtext@}
\def\foldedtext{\topfolded@false\botfolded@false\foldedtext@}
\Invalid@\foldedwidth
\def\foldedtext@{%
\DN@{\ifx\next\foldedwidth\let\next@\nextii@\else
\DN@{\nextii@\foldedwidth{.3\hsize}}\fi\next@}%
\DNii@\foldedwidth##1##2{\setbox\z@\vbox
{\normalbaselines\hsize##1\relax
\tolerance1600 \noindent\ignorespaces##2}\ifbotfolded@\boxz@\else
\iftopfolded@\vtop{\unvbox\z@}\else\vcenter{\boxz@}\fi\fi}%
\FN@\next@}
\def\bold{\RIfM@\expandafter\bold@\else
\expandafter\nonmatherr@\expandafter\bold\fi}
\def\bold@#1{{\bold@@{#1}}}
\def\bold@@#1{\fam\bffam\relax#1}
\def\slanted{\RIfM@\expandafter\slanted@\else
\expandafter\nonmatherr@\expandafter\slanted\fi}
\def\slanted@#1{{\slanted@@{#1}}}
\def\slanted@@#1{\fam\slfam\relax#1}
\def\rom{\RIfM@\expandafter\rom@\else
\expandafter\nonmatherr@\expandafter\rom\fi}
\def\rom@#1{{\rom@@{#1}}}
\def\rom@@#1{\fam\rmfam\relax#1}
\def\italic{\RIfM@\expandafter\italic@\else
\expandafter\nonmatherr@\expandafter\italic\fi}
\def\italic@#1{{\italic@@{#1}}}
\def\italic@@#1{\fam\itfam\relax#1}
\def\Cal{\RIfM@\expandafter\Cal@\else
\expandafter\nonmatherr@\expandafter\Cal\fi}
\def\Cal@#1{{\Cal@@{#1}}}
\def\Cal@@#1{\noaccents@\fam\tw@#1}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\newif\ifmsamloaded@
\newif\ifmsbmloaded@
\newif\ifeufmloaded@
\let\alloc@@\alloc@
\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
9\or A\or B\or C\or D\or E\or F\fi}
\edef\bffam@{\hexnumber@\bffam}
\def\loadmsam{\msamloaded@true
\font@\tenmsa=msam10
\font@\sevenmsa=msam7
\font@\fivemsa=msam5
\alloc@@8\fam\chardef\sixt@@n\msafam
\textfont\msafam=\tenmsa
\scriptfont\msafam=\sevenmsa
\scriptscriptfont\msafam=\fivemsa
\edef\msafam@{\hexnumber@\msafam}%
\mathchardef\dabar@"0\msafam@39
\def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}}%
\def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}}%
\let\dasharrow\dashrightarrow
\def\ulcorner{\delimiter"4\msafam@70\msafam@70 }
\def\urcorner{\delimiter"5\msafam@71\msafam@71 }
\def\llcorner{\delimiter"4\msafam@78\msafam@78 }
\def\lrcorner{\delimiter"5\msafam@79\msafam@79 }
\def\yen{{\mathhexbox@\msafam@55 }}
\def\checkmark{{\mathhexbox@\msafam@58 }}
\def\circledR{{\mathhexbox@\msafam@72 }}
\def\maltese{{\mathhexbox@\msafam@7A }}}
\def\loadmsbm{\msbmloaded@true
\font@\tenmsb=msbm10
\font@\sevenmsb=msbm7
\font@\fivemsb=msbm5
\alloc@@8\fam\chardef\sixt@@n\msbfam
\textfont\msbfam=\tenmsb
\scriptfont\msbfam=\sevenmsb
\scriptscriptfont\msbfam=\fivemsb
\edef\msbfam@{\hexnumber@\msbfam}}
\def\widehat#1{\ifmsbmloaded@
\setboxz@h{$\m@th#1$}\ifdim\wdz@>\tw@ em\mathaccent"0\msbfam@5B{#1}\else
\mathaccent"0362{#1}\fi
\else\mathaccent"0362{#1}\fi}
\def\widetilde#1{\ifmsbmloaded@
\setboxz@h{$\m@th#1$}\ifdim\wdz@>\tw@ em\mathaccent"0\msbfam@5D{#1}\else
\mathaccent"0365{#1}\fi
\else\mathaccent"0365{#1}\fi}
\def\newsymbol#1#2#3#4#5{\define#1{}\let\next@\relax
\ifnum#2=\@ne\ifmsamloaded@\let\next@\msafam@\fi\else
\ifnum#2=\tw@\ifmsbmloaded@\let\next@\msbfam@\fi\fi\fi
\ifx\next@\relax
\ifnum#2>\tw@\Err@{\Invalid@@\string\newsymbol}\else
\ifnum#2=\@ne\Err@{You must first \string\loadmsam}\else
\Err@{You must first \string\loadmsbm}\fi\fi
\else
\mathchardef#1="#3\next@#4#5
\fi}
\def\UseAMSsymbols{\input amssym.tex\relax}
\def\Bbb{\RIfM@\expandafter\Bbb@\else
\expandafter\nonmatherr@\expandafter\Bbb\fi}
\def\Bbb@#1{{\Bbb@@{#1}}}
\def\Bbb@@#1{\noaccents@\fam\msbfam\relax#1}
\def\loadeufm{\eufmloaded@true
\font@\teneufm=eufm10
\font@\seveneufm=eufm7
\font@\fiveeufm=eufm5
\alloc@@8\fam\chardef\sixt@@n\eufmfam
\textfont\eufmfam=\teneufm
\scriptfont\eufmfam=\seveneufm
\scriptscriptfont\eufmfam=\fiveeufm}
\def\frak{\RIfM@\expandafter\frak@\else
\expandafter\nonmatherr@\expandafter\frak\fi}
\def\frak@#1{{\frak@@{#1}}}
\def\frak@@#1{\fam\eufmfam\relax#1}
\let\goth\frak
\newif\ifcmmibloaded@
\newif\ifcmbsyloaded@
\def\loadbold{\cmmibloaded@true\cmbsyloaded@true
\font@\tencmmib=cmmib10 \skewchar\tencmmib='177
\font@\sevencmmib=cmmib7 \skewchar\sevencmmib='177
\font@\fivecmmib=cmmib5 \skewchar\fivecmmib='177
\alloc@@8\fam\chardef\sixt@@n\cmmibfam
\textfont\cmmibfam=\tencmmib
\scriptfont\cmmibfam=\sevencmmib
\scriptscriptfont\cmmibfam=\fivecmmib
\edef\cmmibfam@{\hexnumber@\cmmibfam}%
\font@\tencmbsy=cmbsy10 \skewchar\tencmbsy='60
\font@\sevencmbsy=cmbsy7 \skewchar\sevencmbsy='60
\font@\fivecmbsy=cmbsy5 \skewchar\fivecmbsy='60
\alloc@@8\fam\chardef\sixt@@n\cmbsyfam
\textfont\cmbsyfam=\tencmbsy
\scriptfont\cmbsyfam=\sevencmbsy
\scriptscriptfont\cmbsyfam=\fivecmbsy
\edef\cmbsyfam@{\hexnumber@\cmbsyfam}}
\def\mathchari@#1#2#3{\ifcmmibloaded@\mathchar"#1\cmmibfam@#2#3 \else
\Err@{First bold symbol font not loaded}\fi}
\def\mathcharii@#1#2#3{\ifcmbsyloaded@\mathchar"#1\cmbsyfam@#2#3 \else
\Err@{Second bold symbol font not loaded}\fi}
\def\boldsymbol#1{%
\DN@{\Err@{You can't use \noexpand\boldsymbol with \string#1}#1}%
\ifcat\noexpand#1A%
\let\next@\relax
\ifcmmibloaded@{\fam\cmmibfam#1}\else\Err@{First bold symbol
font not loaded}\fi
\else
\xdef\meaning@{\meaning#1.........}%
\expandafter\math@\meaning@\math@
\ifmath@
\expandafter\mathch@\meaning@\mathch@
\ifmathch@
\expandafter\boldsymbol@@\meaning@\boldsymbol@@
\fi
\else
\expandafter\macro@\meaning@\macro@
\expandafter\delim@\meaning@\delim@
\ifdelim@
\expandafter\delim@@\meaning@\delim@@
\else
\boldsymbol@{#1}%
\fi
\fi
\fi
\next@}
\def\mathhexboxii@#1#2{\ifcmbsyloaded@\mathhexbox@{\cmbsyfam@}{#1}{#2}\else
\Err@{Second bold symbol font not loaded}\fi}
\def\boldsymbol@#1{\let\next@\relax\let\next=#1%
\ifx\next\cdot\mathcharii@201 \else
\ifx\next\prime{{\null\mathcharii@030 \null}}\else
\ifx\next\lbrack\mathchar"4\bffam@5B \else
\ifx\next\rbrack\mathchar"5\bffam@5D \else
\ifx\next\{\mathcharii@466 \else
\ifx\next\lbrace\mathcharii@466 \else
\ifx\next\}\mathcharii@567 \else
\ifx\next\rbrace\mathcharii@567 \else
\ifx\next\surd{{\mathcharii@170}}\else
\ifx\next\S{{\mathhexboxii@78}}\else
\ifx\next\P{{\mathhexboxii@7B}}\else
\ifx\next\dag{{\mathhexboxii@79}}\else
\ifx\next\ddag{{\mathhexboxii@7A}}\else
\DN@{\Err@{You can't use \noexpand\boldsymbol with \string#1}#1}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\boldsymbol@@#1.#2\boldsymbol@@{\classnum@#1 \count@@@\classnum@
\divide\classnum@4096 \count@\classnum@
\multiply\count@4096 \advance\count@@@-\count@ \count@@\count@@@
\divide\count@@@\@cclvi \count@\count@@
\multiply\count@@@\@cclvi \advance\count@@-\count@@@
\divide\count@@@\@cclvi
\multiply\classnum@4096 \advance\classnum@\count@@
\ifnum\count@@@=\z@
\count@"\bffam@ \multiply\count@\@cclvi
\advance\classnum@\count@
\DN@{\mathchar\number\classnum@}%
\else
\ifnum\count@@@=\@ne
\ifcmmibloaded@
\count@"\cmmibfam@ \multiply\count@\@cclvi
\advance\classnum@\count@
\DN@{\mathchar\number\classnum@}%
\else\DN@{\Err@{First bold symbol font not loaded}}\fi
\else
\ifnum\count@@@=\tw@
\ifcmbsyloaded@
\count@"\cmbsyfam@ \multiply\count@\@cclvi
\advance\classnum@\count@
\DN@{\mathchar\number\classnum@}%
\else\DN@{\Err@{Second bold symbol font not loaded}}\fi
\fi
\fi
\fi}
\newif\ifdelim@
\newcount\delimcount@
{\uccode`6=`\\ \uccode`7=`d \uccode`8=`e \uccode`9=`l
\uppercase{\gdef\delim@#1#2#3#4#5\delim@
{\delim@false\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\delim@true
\xdef\meaning@{#5}\fi\fi\fi\fi}}}
\def\delim@@#1"#2#3#4#5#6\delim@@{\if#32%
\let\next@\relax
\ifcmbsyloaded@
\mathcharii@#2#4#5 \else\Err@{Second bold family not loaded}\fi\fi}
\def\vert{\delimiter"026A30C }
\def\Vert{\delimiter"026B30D }
\let\|\Vert
\def\backslash{\delimiter"026E30F }
\def\boldkeydots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@
\boldkey#1\bold@false}
\def\boldsymboldots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@
\boldsymbol#1\bold@false}
%\newif\ifeufbloaded@
%\def\loadeufb{\eufbloaded@true
% \font@\teneufb=eufb10
% \font@\seveneufb=eufb7
% \font@\fiveeufb=eufb5
% \alloc@@8\fam\chardef\sixt@@n\eufbfam
% \textfont\eufbfam=\teneufb
% \scriptfont\eufbfam=\seveneufb
% \scriptscriptfont\eufbfam=\fiveeufb
% \edef\eufbfam@{\hexnumber@\eufbfam}}
%\newif\ifeusmloaded@
%\def\loadeusm{\eusmloaded@true
% \font@\teneusm=eusm10
% \font@\seveneusm=eusm7
% \font@\fiveeusm=eusm5
% \alloc@@8\fam\chardef\sixt@@n\eusmfam
% \textfont\eusmfam=\teneusm
% \scriptfont\eusmfam=\seveneusm
% \scriptscriptfont\eusmfam=\fiveeusm
% \edef\eusmfam@{\hexnumber@\eusmfam}}
%\newif\ifeusbloaded@
%\def\loadeusb{\eusbloaded@true
% \font@\teneusb=eusb10
% \font@\seveneusb=eusb7
% \font@\fiveeusb=eusb5
% \alloc@@8\fam\chardef\sixt@@n\eusbfam
% \textfont\eusbfam=\teneusb
% \scriptfont\eusbfam=\seveneusb
% \scriptscriptfont\eusbfam=\fiveeusb
% \edef\eusbfam@{\hexnumber@\eusbfam}}
%\newif\ifeurmloaded@
%\def\loadeurm{\eurmloaded@true
% \font@\teneurm=eurm10
% \font@\seveneurm=eurm7
% \font@\fiveeurm=eurm5
% \alloc@@8\fam\chardef\sixt@@n\eurmfam
% \textfont\eurmfam=\teneurm
% \scriptfont\eurmfam=\seveneurm
% \scriptscriptfont\eurmfam=\fiveeurm
% \edef\eurmfam@{\hexnumber@\eurmfam}}
%\newif\ifeurbloaded@
%\def\loadeurb{\eurbloaded@true
% \font@\teneurb=eurb10
% \font@\seveneurb=eurb7
% \font@\fiveeurb=eurb5
% \alloc@@8\fam\chardef\sixt@@n\eurbfam
% \textfont\eurbfam=\teneurb
% \scriptfont\eurbfam=\seveneurb
% \scriptscriptfont\eurbfam=\fiveeurb
% \edef\eurbfam@{\hexnumber@\eurbfam}}
\def\accentclass@{7}
\def\noaccents@{\def\accentclass@{0}}
\def\makeacc@#1#2{\def#1{\mathaccent"\accentclass@#2 }}
\makeacc@\hat{05E}
\makeacc@\check{014}
\makeacc@\tilde{07E}
\makeacc@\acute{013}
\makeacc@\grave{012}
\makeacc@\dot{05F}
\makeacc@\ddot{07F}
\makeacc@\breve{015}
\makeacc@\bar{016}
\def\vec{\mathaccent"017E }
\newcount\skewcharcount@
\newcount\familycount@
\def\theskewchar@{\global\familycount@\@ne
\global\skewcharcount@\the\skewchar\textfont\@ne
\ifnum\fam>\m@ne\ifnum\fam<16
\global\familycount@\the\fam\relax
\global\skewcharcount@\the\skewchar\textfont\the\fam\relax\fi\fi
\ifnum\skewcharcount@>\m@ne
\ifnum\skewcharcount@<128
\global\multiply\familycount@256
\global\advance\skewcharcount@\familycount@
\global\advance\skewcharcount@28672
\mathchar\skewcharcount@\else
\global\skewcharcount@\m@ne\fi\else
\global\skewcharcount@\m@ne\fi}
\newcount\pointcount@
\def\getpoints@#1.#2\getpoints@{\pointcount@#1 }
\newdimen\accentdimen@
\newcount\accentmu@
\def\dimentomu@{\global\multiply\accentdimen@ 100
\expandafter\getpoints@\the\accentdimen@\getpoints@
\multiply\pointcount@18
\divide\pointcount@\@m
\global\accentmu@\pointcount@}
\def\Makeacc@#1#2{\def#1{\RIfM@\DN@{\mathaccent@
{"\accentclass@#2 }}\else\DN@{\nonmatherr@{#1}}\fi\next@}}
\def\unbracefonts@{\let\Cal@\Cal@@\let\rom@\rom@@\let\bold@\bold@@
\let\slanted@\slanted@@}
\def\mathaccent@#1#2{\ifnum\fam=\m@ne\xdef\thefam@{1}\else
\xdef\thefam@{\the\fam}\fi
\global\accentdimen@\z@
\setboxz@h{\unbracefonts@$\m@th\fam\thefam@\relax#2$}%
\ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}%
\setbox\tw@\hbox{\unbracefonts@$\m@th\fam\thefam@\relax#2\theskewchar@$}%
\setbox4=\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
\mathchar\skewcharcount@\fi$}%
\global\accentdimen@\wd\tw@\global\advance\accentdimen@-\wdz@
\global\advance\accentdimen@-\wd4
\global\multiply\accentdimen@\tw@
\dimentomu@\global\advance\accentmu@\@ne
\else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}%
\mkern-\accentmu@ mu}{}}\fi
\next@}
\Makeacc@\Hat{05E}
\Makeacc@\Check{014}
\Makeacc@\Tilde{07E}
\Makeacc@\Acute{013}
\Makeacc@\Grave{012}
\Makeacc@\Dot{05F}
\Makeacc@\Ddot{07F}
\Makeacc@\Breve{015}
\Makeacc@\Bar{016}
\def\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
\DN@{\nonmatherr@\Vec}\fi\next@}
\def\sqrt#1{\radical"270370 {#1}}
\let\underline@\underline
\let\overline@\overline
\def\underline#1{\underline@{#1}}
\def\overline#1{\overline@{#1}}
\Invalid@\leftroot
\Invalid@\uproot
\newcount\uproot@
\newcount\leftroot@
\def\plainroot@#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}%
\mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
{\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrt{#2}$}%
\dimen@\ht\z@\advance\dimen@-\dp\z@
\setbox\tw@\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ by1.667\wd\tw@
\mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
\mkern-10mu\mkern\leftroot@ mu\boxz@}
\def\boxed#1{\setboxz@h{$\m@th\displaystyle{#1}$}\dimen@.4\ex@
\advance\dimen@3\ex@\advance\dimen@\dp\z@
\hbox{\lower\dimen@\hbox{%
\vbox{\hrule\height.4\ex@
\hbox{\vrule\width.4\ex@\hskip3\ex@\vbox{\vskip3\ex@\boxz@\vskip3\ex@}%
\hskip3\ex@\vrule\width.4\ex@}\hrule\height.4\ex@}%
}}}
\newdimen\minaw@
\minaw@11.11128\ex@
\def\pmb{\RIfM@\expandafter\mathpalette\expandafter\pmb@\else
\expandafter\pmb@@\fi}
\def\pmb@@#1{\leavevmode\setboxz@h{#1}\kern-.025em\copy\z@\kern-\wdz@
\kern-.05em\copy\z@\kern-\wdz@\kern-.025em\raise.0433em\boxz@}
\def\binrel@@#1{\ifdim\wd\tw@<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@
\mathrel{#1}\else{#1}\fi\fi}
\newdimen\pmbraise@
\def\pmb@#1#2{\setbox4=\hbox{$\m@th#1{#2}$}%
\setbox6=\hbox{$\m@th#1\mkern.7794mu$}\pmbraise@\wd6
\binrel@{#2}\binrel@@{\mkern-.45mu\copy4 \kern-\wd4
\mkern-.9mu\copy4 \kern-\wd4 \mkern-.45mu\raise\pmbraise@\box4}}
\font\dummyft@=dummy
\fontdimen1 \dummyft@=\z@
\fontdimen2 \dummyft@=\z@
\fontdimen3 \dummyft@=\z@
\fontdimen4 \dummyft@=\z@
\fontdimen5 \dummyft@=\z@
\fontdimen6 \dummyft@=\z@
\fontdimen7 \dummyft@=\z@
\fontdimen8 \dummyft@=\z@
\fontdimen9 \dummyft@=\z@
\fontdimen10 \dummyft@=\z@
\fontdimen11 \dummyft@=\z@
\fontdimen12 \dummyft@=\z@
\fontdimen13 \dummyft@=\z@
\fontdimen14 \dummyft@=\z@
\fontdimen15 \dummyft@=\z@
\fontdimen16 \dummyft@=\z@
\fontdimen17 \dummyft@=\z@
\fontdimen18 \dummyft@=\z@
\fontdimen19 \dummyft@=\z@
\fontdimen20 \dummyft@=\z@
\fontdimen21 \dummyft@=\z@
\fontdimen22 \dummyft@=\z@
\def\dodummy@{{\def\\##1{\global\let##1\dummyft@}\fontlist@}}
\def\nopages@{\output={\setbox\z@\box255 \deadcycles\z@}%
\alloc@@5\toks\toksdef\@cclvi\output}
\let\galleys\nopages@
\newif\ifsyntax@
\newcount\countxviii@
\def\syntax{\syntax@true\dodummy@\countxviii@\count18
\loop\ifnum\countxviii@>\m@ne\textfont\countxviii@=\dummyft@
\scriptfont\countxviii@=\dummyft@\scriptscriptfont\countxviii@=\dummyft@
\advance\countxviii@\m@ne\repeat
\dummyft@\tracinglostchars\z@\nopages@\frenchspacing\hbadness\@M}
\def\S@{S } \def\G@{G } \def\P@{P }
\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
\ch@ck#1#4#2\allocationnumber=\count1#1
\global#3#5=\allocationnumber
\wlog{\string#5=\string#2\the\allocationnumber}}
\let\proclaim\undefined
\let\=\undefined
\let\>\undefined
\let\cal\undefined
\let\mit\undefined
\let\oldstyle\undefined
\catcode`\@=\active